嗨!各位朋友大家好,打給後,歹嘎吼,胎尬喉,我是阿圓,有請今天的 one piece:
(突然發現我居然沒有放過魯夫的正面!囧)
之前上課時,有關於session與cookie的概念一直弄的很模糊,想到之後在部落格上可能會用到,所以嘗試來解釋一下!
先來延續之前MVC架構的比喻,當我對餐廳點菜的時候,相當於我發了一個request,而廚房,也就是server,會回復我一個response。
但是!http是不存在狀態一說的,也就是說,我每次到餐廳點菜,對於廚房來說,我就是一個新的顧客,即使我每次都點一樣的菜,我還是沒辦法跟廚房說:“給我來一份老樣子!”,因為廚房根本不記得我是誰,也不會記得我平常點了什麼,因為他記不住我的狀態!
更極端一點的例子是,當我點了第一道菜,想要再點第二道的時候,廚房就認不出我了!
而為了讓我們的 server 記住我的狀態,session 就出現了!
session 是什麼?他是能夠讓 request 變成有狀態的一種機制,有點像廚房發了張紙條給我,裡面記了我點的所有菜,最後只要把這張紙條交給廚房,這樣他就知道我點了哪些東西了。
而實作 session 機制的方法有很多,以下介紹兩種:
先來看一個網站 GitHub Jobs ,上面會有兩個條件分別可以打入關鍵字和工作所在的地區,用來讓你搜尋想要的工作。
而當我輸入搜尋條件,並按下送出:
有看到網址的變化嗎?
而第二種,也是很常使用的一種,所謂 cookie,有點像是你去餐廳點餐後的明細單,他記錄了你點的所有菜,可以給服務生來做確認。
今天先簡單講到這裡我們明天再來細細說明!
感謝各位看到這邊,上述比喻是我自己想出來的,若有任何缺漏的或是有其他建議,請各位不吝指教!我們明天見!